//导入数据库
const cartModel = require('../db/cart')

//直接导入添加购物车函数
module.exports = {
    //给购物车添加数据
    addCart(req, res) {
        //接收数据
        let {
            userid,
            menuid,
            num,
            speandkind
        } = req.body
        //添加进购物车
        //查询数据库中是否有当前用户的当前规则和种类
        cartModel.findOne({
            userid,
            menuid,
            speandkind
        }, (err, docs) => {
            if (err) {
                throw new Error(err)
            }
            if (docs) {
                //当前用户的当前购物车已经有这条数据，给num+1--$inc:{num:1}自增1
                cartModel.updateOne({
                    _id: docs._id
                }, {
                    $inc: {
                        num: num
                    }
                }, (err, docs) => {
                    if (err) {
                        throw new Error(err)
                    }
                    res.json({
                        error_code: 0,
                        msg: '购物车添加成功'
                    })
                })
            } else( //当前用户数据库没有这条数据；新增一条
                cartModel.insertMany({
                    userid,
                    menuid,
                    speandkind,
                    num
                },(err,docs)=>{
                    if (err) {
                        throw new Error(err)
                    }
                    res.json({
                        error_code: 0,
                        msg: '购物车添加成功'
                    })
                })
            )
        })
    },

    //获取全部购物车数据
    getAll(req,res){
        //获取用户id--restfor风格get在地址栏中传参
        let {userid}=req.params
        console.log(userid);
        //查询数据库数据
        cartModel.find({userid:userid},{__v:0},(err,docs)=>{
            if(err){
                throw new Error(err)
            }
            res.json({
                error_code:0,
                msg:'获取购物车成功',
                data:docs
            })
            console.log(docs)
        })
    }
}


/**
 *  menuid:String,//商品id
    num:Number,//数量
    speandkind:String,//种类和规格
    userid:String//用户
 */